{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}{\f38\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f43\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f45\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f47\fswiss\fcharset238\fprq2 Arial CE;}{\f48\fswiss\fcharset204\fprq2 Arial Cyr;}{\f50\fswiss\fcharset161\fprq2 Arial Greek;}{\f51\fswiss\fcharset162\fprq2 Arial Tur;}
{\f52\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f53\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f54\fswiss\fcharset186\fprq2 Arial Baltic;}{\f55\fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive 
\ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid900252050
\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}}{\listname ;}\listid-2}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel
\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}}{\*\rsidtbl \rsid397750\rsid8531907\rsid12804853\rsid14568400
}{\*\generator Microsoft Word 11.0.6359;}{\info{\author VuNga}{\operator VuNga}{\creatim\yr2007\mo1\dy30\hr7\min16}{\revtim\yr2007\mo8\dy11\hr21\min37}{\version4}{\edmins13}{\nofpages3}{\nofwords511}{\nofchars2919}{\*\company Microsoft Corporation}
{\nofcharsws3424}{\vern24703}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind4\viewscale100\nolnhtadjtbl\rsidroot8531907 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f1\fs32\insrsid8531907 README}{\f1\fs20\insrsid8531907 
\par 
\par }{\f1\fs28\insrsid8531907 1. Build project from source}{\f1\fs20\insrsid8531907 
\par 
\par a. Prequisites:
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
JDK 5 (http://java.sun.com/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Maven 2 (http://maven.apache.org/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Subversion (http://subversion.tigris.org/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Internet connection (for maven to download dependent JAR files)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Source code
\par }\pard \ql \li0\ri0\nowidctlpar{\*\pn \pnlvlcont\ilvl12\ls0\pnrnot0\pndec }\faauto\ilvl12\rin0\lin0\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
\par b. To build the WAR file:
\par > cd rsscollector
\par > init.bat
\par > mvn -Dall package
\par 
\par The generated rss-collector.war will be located at target/ directory.
\par 
\par }{\f1\fs28\insrsid8531907 2. Setup development environment (Eclipse IDE)
\par }{\f1\fs20\insrsid8531907 
\par 2.1. Prequisites:
\par 
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
JDK 5.x (http://java.sun.com/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Eclipse WTP 1.5.x (http://www.eclipse.org/webtools/). Use all-in-one package.
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Tomcat 5.x (http://tomcat.apache.org/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Maven 2.x (http://maven.apache.org/)
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Subversion (http://subversion.tigris.org/). Used for check out code at the first fime (step 2.2).
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Internet connection
\par }\pard \ql \li0\ri0\nowidctlpar{\*\pn \pnlvlcont\ilvl12\ls0\pnrnot0\pndec }\faauto\ilvl12\rin0\lin0\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
\par 2.2. Check out source code 
\par Go to http://code.google.com/p/rsscollector/source. Login with Google account. Follow the guide to check out the code. Remember to check out using your account to allow checking in code later.
\par 
\par 2.3. Install subclipse plugin for  Eclipse WTP to allow check in/out inside Eclipse IDE:
\par Follow the guide at http://subclipse.tigris.org/ to install subclipse plugin.
\par 
\par 2.4. Register Tomcat to Eclipse:
\par 
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Open the J2EE Perspective
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Right click in the Server tab
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Register your tomcat installation
\par }\pard \ql \li0\ri0\nowidctlpar{\*\pn \pnlvlcont\ilvl12\ls0\pnrnot0\pndec }\faauto\ilvl12\rin0\lin0\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
\par 2.5. Register Maven's local package
\par > init.bat
\par 
\par 2.6. Generate Eclipse project files:
\par 
\par > cd rsscollector
\par > mvn -Dall eclipse:eclipse
\par > mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo
\par 
\par Note: wtpversion=1.5 is not supported at this moment.
\par 
\par 2.7. Import project to Eclipse and run for the first time:
\par 
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
From Eclipse IDE:
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
File/Import/Existing project Into Workspace
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Switch to the J2EE perspective by selecting Window / Open Perspective / Other.. / J2EE
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Expand the "dynamic web projects" category, you should see the rsscollector project there
\par {\pntext\pard\plain\f3\fs20\insrsid8531907 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-720\li720\ri0\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8531907 {\f1\fs20\insrsid8531907 
Right click rsscollector project and select "run on server". Select the installed tomcat runtime.
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f1\fs20\insrsid8531907 
\par 2.8. Create Unicode database (to prevent error \'93data truncated\'94 when inserting Unicode data into TEXT columns)
\par 
\par CREATE DATABASE rsscollector CHARACTER SET utf8;
\par 
\par 2.9 Testing application with Tomcat 5.5.20:
\par 
\par }\pard \ql \fi-360\li720\ri0\nowidctlpar\tx720\faauto\rin0\lin720\itap0 {\f1\fs20\insrsid8531907 a.\tab Install Tomcat 5.5.20, e.g. C:\\Tomcat-5.5.20
\par }\pard \ql \fi-360\li720\ri0\nowidctlpar\faauto\rin0\lin720\itap0 {\f1\fs20\insrsid8531907 b.\tab Update CATALINA_HOME variable in rsscollector\\tomcat-5.5.20\\run.bat and rsscollector\\tomcat-5.5.20\\
remote-debug.bat files to point to installed Tomcat directory (C:\\Tomcat-5.5.20)
\par c.\tab Start rsscollector\\tomcat-5.5.20\\run.bat
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f1\fs20\insrsid8531907 
\par }{\f1\fs28\insrsid8531907 3. Some Maven commands
\par 
\par }{\f1\fs20\insrsid8531907 3.1 To run project it with Jetty (embedded web server) (for developing)
\par > mvn jetty:run
\par }{\f1\fs20\insrsid12804853 > mvn \endash o jetty:run
\par }{\f1\fs20\insrsid8531907 
\par 3.2 Run a report about code status
\par > mvn pmd:pmd
\par 
\par 3.3. To clean up
\par > mvn clean
\par 
\par 3.4 Generate IDEA project files
\par > mvn idea:idea
\par 
\par 3.5 Generate dependency report
\par 
\par mvn project-info-reports:dependencies
\par 
\par 3.6 Generate documentation site
\par > mvn -Dall site
\par 
\par }{\f1\fs28\insrsid8531907 4. References}{\f1\fs20\insrsid8531907 
\par 1. http://magnolia.sourceforge.net/30/developer/eclipseWTP.html
\par 2. }{\field{\*\fldinst {\f1\fs20\insrsid8531907 HYPERLINK "https://rome.dev.java.net/" }{\f1\fs20\insrsid14568400\charrsid8531907 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4e000000680074007400700073003a002f002f0072006f006d0065002e006400650076002e006a006100760061002e006e00650074002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000000}}
}{\fldrslt {\f1\fs20\ul\cf2\insrsid8531907  http://wiki.java.net/bin/view/Javawsxml/Rome}}}{\f1\fs20\insrsid8531907   More document and sample about ROME library (Feed RSS)
\par 3. Using Java Persistence API (JPA): http://hibernate.org/hib_docs/entitymanager/reference/en/html_single/
\par 3. Design JPA web app:
\par https://blueprints.dev.java.net/bpcatalog/ee5/persistence/webonlyapp.html
\par https://blueprints.dev.java.net/bpcatalog/ee5/persistence/facade.html
\par https://blueprints.dev.java.net/bpcatalog/ee5/persistence/namingconventions.html
\par 
\par }{\f1\fs20\insrsid397750\charrsid397750 http://localhost:9090/rss-collector/index2.jsp
\par }{\f1\fs20\insrsid8531907 
\par 
\par }}